A 3D image system performs a rendering process of making a 3D image by instilling a realistic sensation into a 2-Dimensional (2D) image by considering external information such as light sources, positions, colors and the like. One example of the rendering is a ray tracing technique.
A ray tracing technique is a technique that includes, after generating a ray corresponding to each pixel of a screen from the observer viewpoint, determining a color of the each pixel depending on a primitive crossing with these rays to make a 3D image. That is, the ray tracing technique performs one or more samplings of each pixel and determines a color of a corresponding pixel.
In the above ray tracing technique, when generating one ray for one pixel, if a boundary of a primitive ranges over within one pixel, an aliasing phenomenon takes place, thus causing a problem of making a image non-realistic. Accordingly, the conventional ray tracing technique provides an AA technique of generating a plurality of rays for one pixel and determining a color of the pixel depending on an area that a primitive occupies in the pixel, thereby decreasing the occurrence of the aliasing phenomenon.
FIGS. 1A to 1C illustrate an aliasing phenomenon and an AA technique in the conventional ray tracing technique. In FIG. 1A, it is assumed that a triangular primitive exists in a virtual 3D space, and one ray is generated for the pivot (indicated by a dot) in each pixel. A color of a pixel whose one ray crosses within the triangle is determined as a color of the triangle, and a color of a pixel whose one ray does not cross within the triangle is determined as a background color. So, as illustrated in FIG. 1B, an image is made of a form that is difficult for a user to recognize as the triangle.
Accordingly, the conventional art provides a technique of making an image of a form that a user may recognize as a triangle as illustrated in FIG. 1C, by determining a color of each pixel considering an area that a primitive occupies in each pixel in FIG. 1A. In detail, the conventional art provides a scheme of generating a plurality of rays for each pixel, checking if a primitive crosses with a plurality of rays, and giving a weight to a color of the cross primitive, thereby determining a color of each pixel. For example, the conventional art provides a super sampling scheme of sampling at constant intervals within each pixel, a statistic sampling scheme of dividing each pixel into a plural number and generating a ray in an arbitrary position of each of the divided pixels, and the like.
But, the above scheme of generating a plurality of rays for one pixel has a problem of needing many operation amounts compared to a scheme of generating one ray for one pixel.
As described above, the ray tracing technique has an advantage of making an image more realistic as the number of simulating rays is large, while having a disadvantage of needing many operation amounts. In contrast, the ray tracing technique has an advantage of decreasing an operation amount as the number of simulating rays is reduced, while having a disadvantage of inducing aliasing and degrading a quality of an image.
So, there is a need to provide a technique of, when rendering a 3D image, restricting the number of rays for each pixel while minimizing the occurrence of the aliasing.